package co.edu.udea.iw.ws;

import java.util.ArrayList;
import java.util.List;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import co.edu.udea.iw.dao.TipoDocumentoDAO;
import co.edu.udea.iw.dto.TipoDocumento;
import co.edu.udea.iw.dto.TipoDocumentoWS;
import co.edu.udea.iw.exception.IWDaoException;

/**
 * Clase cuyo objetivo es realizar los servicios web para TipoDocumento
 * 
 * @author Santiago Ruiz
 * @author Bladimir Velez
 *
 */
@Component
@Path("Documento")
public class ServicioWebTipoDocumento {

	@Autowired
	private TipoDocumentoDAO tipoDocumentoDao;

	@Produces(MediaType.APPLICATION_JSON)
	@GET
	@Path("ConsultarDocumentos")
	public List<TipoDocumentoWS> consultarDocumentos() {
		List<TipoDocumentoWS> documents = new ArrayList<TipoDocumentoWS>();
		try {
			List<TipoDocumento> documentos = tipoDocumentoDao
					.obtenerTiposDocumentos();
			for (TipoDocumento d : documentos) {
				documents.add(new TipoDocumentoWS(d.getTipoDocumento()));
			}
		} catch (IWDaoException e) {

			Logger log = Logger.getLogger(Exception.class);
			log.error("Error obteniendo los datos");
		}

		return documents;
	}

}
